<?php
declare (strict_types = 1);

namespace app\admin\validate;

use think\Validate;

class Goods extends Validate
{
    /**
     * 定义验证规则
     * 格式：'字段名' =>  ['规则1','规则2'...]
     *
     * @var array
     */
    protected $rule = [
        // unique 唯一验证 goods表名  也指定字段 goods的字段就是goods_name
        'goods_name' => 'require|max:150|unique:goods',
        'goods_logo' => 'require|file|fileExt:png,jpeg,jpg|fileSize:204888',
//        ...
    ];

    /**
     * 定义错误信息
     * 格式：'字段名.规则名' =>  '错误信息'
     *
     * @var array
     */
    protected $message = [
        'goods_name.require' => '商品名称必填',
        'goods_name.max' => '商品最多30个字符',
        'goods_logo.require' => '商品logo必填',
        'goods_logo.fileExt' => '商品后缀只能是png、jpeg、jpg'
    ];

    /**
     * 添加的时候 没有id、商品logo的验证
     * 修改的  条件  id number
     */

    /**
     * 为修改做单独场景
     */
    public function sceneUpdate(){
        // 移除goods_logo的验证规则 添加更新条件的规则
        $this->remove('goods_logo','require|fileExt')->append('id','require|number');// 移除goods_logo
    }
}
